// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import OneClass from '@api/base/model/AppMenuDto'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '节点', // 词语
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 跳转
     */
    JUMP: [
      [1, '内部功能'],
      [2, '外部链接'],
    ],

    /**
     * 类型
     */
    TYPE: [
      [1, '应用分组'],
      [2, '应用模块'],
    ],
  },

  /**
   * 首要开关
   *
   * 1. 初始化完成时调用
   * 2. 提交后刷新时调用
   */
  MAIN_START: 'startTree', // 'startInfo' 或 'startList' 或 'startOne' 或 ''

  /**
   * 初始配置
   */
  INIT_CONFIG: {
    /**
     * 结构树字典层级 (为 0 表示不限制)
     */
    TREE_DICT_LEVEL: 1,
  },

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(OneClass, {
    status: 1, // 状态 1启用 2未启用
    type: 2, // 类型 1应用分组 2应用模块
    parentId: undefined, // 父 ID 0代表分类
    backColor: 'rgba(255, 255, 255, 0)', // 背景色
    jumpLogic: 1, // 跳转逻辑；1：内部逻辑；2：H5页面
    forword: '',
    jumpLink: '',
  }),
}
